home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / Oberon⁄F™ 1.2 / Preinstalled version / Obx / Docu / Patterns (.txt) < prev    next >
Encoding:
Oberon Document  |  1996-07-08  |  3.4 KB  |  43 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Helvetica
  16. TextRulers.StdRulerDesc
  17. TextRulers.RulerDesc
  18. TextRulers.StdStyleDesc
  19. TextRulers.StyleDesc
  20. TextRulers.AttributesDesc
  21. Helvetica
  22. Helvetica
  23. StdLinks.LinkDesc
  24. StdCmds.OpenDoc('Obx/Mod/Patterns')
  25. Helvetica
  26. DevCommanders.StdViewDesc
  27. DevCommanders.ViewDesc
  28. Oberon by Example: ObxPatterns
  29. This view displays a series of concentric rectangles. The view contains no special state; its display is completely determined by its current size alone.
  30. The view implementation is very simple, and similar to the first view examples in the tutorial. However, there are three aspects of this program which are noteworthy:
  31. First, although the view has no state, it still extends the Internalize and Externalize procedures bound to type View. This is done only in order to store a version number of the view. It is strongly recommended to store such a version number even in the simplest of views, in order to provide a degree of extensibility in future versions of the view implementation.
  32. Second, the view contains no special state of its own. However, its display may change, depending on its current size. A view does not manage its own size, since its size is completely determined by the context in which the view is embedded. A view can determine its current size by asking its context, though; using the context's GetSize procedure.
  33. Third, while a view's size is completely controlled by its context, the context still may (but need not!) cooperate when the size must be determined. For example, when a view is newly inserted into a container, the container may ask the view for its preferred size, or when it wants to change the embedded view's current size, it may give the view the opportunity to define constraints on its size, e.g. by limiting width or height to some minimal or maximal values. The container can cooperate by sending a size preference (Properties.SizePrefs) to the embedded view, containing the proposed sizes (which may be undefined). The view thus gets the opportunity to modify these values.
  34. ObxPatterns
  35. sources
  36.  "ObxPatterns.Deposit; StdCmds.Open"
  37. TextControllers.StdCtrlDesc
  38. TextControllers.ControllerDesc
  39. Containers.ControllerDesc
  40. Controllers.ControllerDesc
  41. Helvetica
  42. Documents.ControllerDesc
  43.